1. Field of the Invention
The present invention relates to an inter-application data transmitting system for transmitting data among multiple application systems interconnected over a network, and more particularly, an embodiment of the present invention relates to an inter-application data transmitting system which exchanges data among various types of applications of the business application systems by using the functions of the various types of applications mutually.
2. Description of the Related Art
FIG. 52 of the accompanying drawings shows a block diagram illustrating a conventional architecture of integrated application systems having business applications of different types from each other, which appears in xe2x80x9cHigh-tech Software Dictionaryxe2x80x9d, page 514, Ohm Press (May 1991 issue).
Referring now to FIG. 52, a reference numeral 1 denotes a shared user interface A which is used by a user of a business application A for entering data in order to use the function of the business application A and for receiving an output result from the business application A. The shared user interface A is a type of user interface which is designed for applying commonly to different kinds of business applications. A reference numeral 2 denotes the business application A. A reference numeral 3 denotes a shared communication protocol. The shared communication protocol (3) is used for exchanging commands and data between the shared user interface A (1) and the business application A (2) through a communication channel. The shared communication protocol (3) allows the business application A (2) to communicate with another business application of a different type. A reference numeral 4 denotes a shared API business program A. The shared API business program A (4) is provided with a business program having a data processing function and a shared Application Program Interface (API). The shared Application Program Interface (API) allows the business application A (2) to use the function of another business application (e.g., a business application B of FIG. 52, which will be discussed later in this embodiment), as a communicating partner. In other words, with reference to FIG. 52, the shared API business program A (4) of the business application A (2) and the shared API business program B of the business application B are provided with the same Application Program Interface (API) function. A reference numeral 5 denotes a data base A for storing business data. The business application A (2) is composed of the shared communication protocol (3) and the shared API business program A (4).
The business application A (2) uses a standard data base access language called Structured Query Language (SQL), for example, in order to gain access to the data base A (5). Similarly, reference numeral 6 through reference numeral 10 denote elements of a system relating to the business application B (7). The business application B (7) is provided with the same elements in function as those of the business application A (2). A reference numeral 11 denotes a network which connects the business application A (2) and the business application B (7).
Now, the operation of the above mentioned conventional example is discussed.
In the case of a single use of the business application A (2) alone involving no network connection through the network (11), the user who intends to use the business application A (2) operates the shared user interface A (1) so as to use the function of the shared API business program A (4). The shared user interface A (1) is connected to the shared API business program A (4) through the shared communication protocol (3). When gaining access to the shared API business program A (4) through the shared communication protocol (3), the shared user interface A (1) uses the shared API.
As an example, it is assumed that data is requested to be written into the data base A (5). In that case, the shared API business program A (4) writes the data requested by the shared user interface A (1) into the data base A (5) based on SQL. Then, the written data may be read out from the data base A (5) in a later opportunity by a user who uses the shared user interface A (1). The readout data from the data base A (5) is outputted to the shared user interface A (1) through the shared communication protocol (3). Similarly, the above mentioned operation applies to the single use of the business application B (7). In other words, a user who intends to use the business application B (7) operates the shared user interface B (6) so as to connect with the shared API business program B (9) through the shared common protocol (8), thereby utilizing the function of the shared API business program B (9).
Next, a discussion will be made of the conventional operation in the case that the business application A (2) and the business application B (7) are used in a mutual manner by the users of the business applications A (2) and B (7) over the network.
It is assumed that the user operates the shared user interface A (1) in order to use the function of the business application A (2) and the function of the business application B (7) so as to write data in the data base A (5) and further write the data in the corresponding data area in the data base B (10), so that the data in the data base B (10) has the same meaning as that of the data in the data base A (5).
As aforementioned, in the case of writing data into the data base A (5), the shared user interface A (1) is operated to request the shared API business program A (4) to write the data into the data base A (5) through the shared communication protocol (3).
Now, a description will be made with the data requested to be written into the data base B (10).
Now, it is assumed that a data area or a name (which will be referred to hereinafter as the xe2x80x9cdata areaxe2x80x9d) corresponding to data written in the data base A (5) is previously known by the business application B (7).
The shared API business program A (4) instructs the shared API business program B (9), by using the shared communication protocol (3) and the shared communication protocol (8), to write the same data as that written into the data base A (5) into the corresponding data area of the data base B (10). In this case, the data is transmitted from the shared communication protocol (8) to the shared API business program B (9) by means of the shared API. In other words, the shared API business program A (4) and the shared API business program B (9) are provided with the same API function. For that reason, the shared API business program A (4) can transmit an instruction to write data into the data base B (10) to the shared API business program B (9) correctly by means of parameters, for example, representing storage position information and the like. The written data in the data base B (10) can be read out in a later opportunity by a user of the shared user interface B (6). The data, being read out from the data base B (10), is outputted to the shared user interface B (6) through the shared communication protocol (8). In other words, the data written into the data base A (5) by the user of the shared user interface A (1) is also written into the data base B (10) so that the user of the shared user interface B (6) can use the data.
As aforementioned, according to the conventional business application system, the following conditions have to be satisfied in order to achieve the mutual use of the functions and data of the two business applications of different types. The conditions include:
1. The business application A (2) and the business application B (7) are to share the communication protocol such as the shared communication protocol (3) and the shared communication protocol (8), thereby allowing the business application A (2) and the business application B (7) to communicate with each other.
2. The API of the shared API business program A (4) to be used for gaining access to the data base A (5) and the API of the shared API business program B (9) to be used for gaining access to the data base B (10) are to be the same, and
3. The data format and the meaning of the value of data to be transmitted to the shared API business program A (4) by means of the shared API and the data format and the meaning of the value of data to be transmitted to the shared API business program B (9) by means of the shared API are to be the same and show no inconsistency in both the business application A (2) and the business application B (7).
In other words, data stored in the data base A (5) and data stored in the data base B (10) are required to be the same in the data format and the meaning of the value of data in both cases when the data is read out from the data base A (5) by the shared API provided in the shared API business program A (4) and when the data is read out from the data base B (10) by the shared API provided in the shared API business program B (9).
4. Conventionally, the data format and the control command to be used in a business application has a strong relation with a user interface. In addition to that, a communication protocol to be used for connecting the user interface with the business application also has a relation with the implementation system of the user interface.
In other words, in the case that a character-based screen terminal is used as the user interface for inputting/outputting data, a communication protocol called Telnet is used as the shared communication protocol, for example. In the case that a browser is used as the user interface, a communication protocol called HTTP (Hyper Text Transfer Protocol) is used, for example, as the shared communication protocol. In order to achieve the mutual use of the business applications, there is a need of using a shared communication protocol by the business applications in communication. Further, there is also a need of matching the data formats as well as the transmission formats of the business applications. For that reason, the implementation system of the user interface is also required to be shared by the business applications.
Those conditions to be satisfied may create the necessity of matching various items of difference between the different types of business applications interconnected over the network for exchanging data with each other, even if the different types of business applications are designed to be used in the same field of business. The items of difference to be matched between the different types of business applications include the communication protocol to be used, the API interface to be used for gaining access to the business application, the data format and the meaning of the value of data to be stored and read out, the user interface and the like. In that respect, the conventional art poses the following problems when two currently operating different types of business applications are connected to exchange data with each other. In the case of any difference required to be matched between the different types of business applications among the above listed items of difference, it causes the user to change the item of difference in one or both of the business application programs. Consequently, it causes the user to spend extra time and cost for the change.
Specifically, in the case of converting the data format of data into a data format depending on the business application of a communicating partner, for example, not only that the business program of the business application is to be changed. Besides, the data format of previously stored data in the business application is also required to be converted into the new data format, if the data is to be exchanged between the business applications. When two business application systems employ different types of API from each other, it is not always possible to establish a one-to-one correspondence in operation between the two systems. For that reason, data may be accessed through a single operation in one of the business application systems, whereas multiple operations may have to be involved in the other business application system for gaining access to the data. This may cause the problem that a system operation for exchanging data among multiple business applications becomes more complicated, or as a matter of fact, impossible.
The embodiments of the present invention are directed to solving such problems discussed above. It is an object of the embodiments of the present invention to provide an inter-application data transmitting system in which data is exchanged among different types of business applications over the network and the functions of the different types of business applications are used mutually among the different types of business applications over the network. The inter-application data transmitting system is provided with an application intermediary unit which gains access to an existing or currently operating business application through an existing or currently operating interface. The application intermediary unit converts the data format of the data and establishes a correspondence in the meaning of the value of data. Thus, specifically, it is the object of the embodiments of the present invention to achieve the mutual use of data among the different types of business applications over the network and the mutual use of the functions of the different types of business applications without adding any change to an existing business application.
In addition to that, in the mutual use of the data and the functions among different types of multiple, more than two, business applications, the mutually used data, functions and even communication facilities and functions may differ from one another on a unit of communicating pair basis of the different types of multiple business applications. In that respect, it is another object of the embodiments of the present invention to provide an inter-application data transmitting system in which the data, functions and communication facilities can be selected on the unit of communicating pair basis of the different types of multiple business applications.
These and other objects are accomplished by the present invention as hereinafter described in further detail.
According to one aspect of the present invention, an inter-application data transmitting system for exchanging data among a plurality of applications interconnected over a network, each of the plurality of applications storing the data in a predetermined application dependent data format, includes an application intermediary unit for mediating the data to be transmitted between the network and one of the plurality of applications. The application intermediary unit includes,
an application control unit for controlling a transmission of the data between the one of the plurality of applications and the application intermediary unit,
an access procedure rule memory for storing an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
an access procedure control unit, controlled by the application control unit, for gaining access to the data stored in the one of the plurality of applications in accordance with the access procedure rule stored in the access procedure rule memory,
a data format conversion rule memory for storing a data exchange format which is a data format predefined to be used for exchanging the data among the plurality of applications interconnected over the network, and further storing a data format conversion rule to be used for converting at least one of an application dependent data format of the data stored in the one of the plurality of applications which is accessed by the access procedure control unit into the data exchange format and the data exchange format into the application dependent format of the data stored in the one of the plurality of applications,
data format conversion unit for converting the data from one data format to another data format based on the data format conversion rule stored in the data format conversion rule memory, a communication control rule memory for storing a communication control rule which defines a communication rule,
and a communication control unit for controlling a transmission over the network of converted data in the data exchange format which is converted by the data format conversion unit based on the communication control rule stored in the communication control rule memory.
The application control unit may include a monitoring area table for setting data stored in the one of the plurality of applications which is required to be notified to another one of the plurality of applications as data to be notified, for setting a processing request status which indicates an occurrence of the data to be notified, and for setting a data area of data to be monitored stored in the one of the plurality of applications which is monitored by the application control unit and also setting a data value of the data area in response to the processing request status. The application control unit may detect the processing request status being set in the monitoring area table, and outputs an instruction corresponding to a detected processing request status to the access procedure control unit.
The access procedure rule memory may store the access procedure rule corresponding to the processing request status. The access procedure control unit may detect the access procedure rule corresponding to the processing request status stored in the access procedure rule memory based on the instruction received from the application control unit, and gain access to the data stored in the one of the plurality of applications in accordance with a detected access procedure rule.
The communication control rule memory may store the communication control rule corresponding to each of the plurality of applications interconnected over the network which the one of the plurality of applications exchanges the data with.
The application intermediary unit may further include,
an event control unit for receiving an event which requests the application intermediary unit to respond to and for outputting a received event,
a state transition rule memory for storing a state transition rule which defines a condition for transition which defines a condition for state transition for changing a state in response to the event and a processing item for the state transition corresponding to the condition for transition, and
a state transition control unit for receiving the event from the event control unit, retrieving the state transition rule stored in the state transition rule memory based on a received event, thereby extracting the state transition rule including the condition for transition corresponding to the received event, and executing the processing item of an extracted state transition rule.
The inter-application data transmitting system may further include an application dependent rule generation unit for generating an application dependent rule which defines a rule depending on the one of the plurality of applications.
According to another aspect of the present invention, a method for transmitting data to be exchanged among a plurality of applications interconnected over the network, each of the plurality of applications storing the data in a predetermined application dependent data format, includes the step of mediating the data to be transmitted between the network and one of the plurality of applications. The step of mediating the data to be transmitted between the network and one of the plurality of applications includes the steps of,
controlling a transfer of the data stored in the one of the plurality of applications,
storing an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
gaining access to the data stored in the one of the plurality of applications controlled in the step of controlling the transfer of the data stored in the one of the applications based on the access procedure rule stored in the step of storing the access procedure rule to the data stored,
storing a data exchange format which is a data format predefined to be used for transmitting the data to be exchanged with the plurality of applications, and further storing a data format conversion rule to be used for converting at least one of the application dependent format depending on the one of the plurality of applications into the data exchange format and the data exchange format into the application dependent format depending on the one of the plurality of applications,
converting the data in one data format to another data format based on the data format conversion rule stored in the step of storing the data exchange format and the data format conversion rule,
storing a communication control rule which defines a communication rule, and
controlling a transmission of the data in the data exchange format over the network in accordance with the communication control rule stored in the step of storing the communication control rule.
According to a further aspect of the present invention, a computer readable storage medium having a computer readable program code stored therein for causing data to be exchanged among a plurality of interconnected applications over a network includes a mediate code segment for causing a computer to mediate the data to be transmitted between the network and one of the plurality of applications. The mediate code segment includes,
a control code segment for causing the computer to control a transfer of the data stored in the one of the plurality of applications,
a storing code segment for causing the computer to store an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
a gaining access code segment for causing the computer to gain access to the data stored in the one of the plurality of applications controlled by the control code segment for causing the computer to control the transfer of the data stored in the one of the applications based on the access procedure rule stored by the storing code segment for causing the computer to store the access procedure rule to the data stored,
a storing code segment for causing the computer to store a data exchange format which is a data format predefined to be used for transmitting the data to be exchanged with the plurality of applications, and further store a data format conversion rule to be used for converting at least one of the application dependent format depending on the one of the plurality of applications into the data exchange format and the data exchange format into the application dependent format depending on the one of the plurality of applications in another case,
a conversion code segment for causing the computer to convert the data from one data format to another data format based on the data format conversion rule stored by the store code segment for causing the computer to store the data exchange format and the data format conversion rule,
a storing code segment for causing the computer to store a communication control rule which defines a communication rule, and
a control code segment for causing the computer to control a transmission of the data in the data exchange format over the network in accordance with the communication control rule stored by the storing code segment for causing the computer to store the communication control rule.
Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given through illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.